home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / pretty15.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  36KB  |  1,773 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "pretty.h"
  9. /*No:FORMAL_ARG_LIST.nb_errors*/
  10.  
  11.  
  12. T0* r171start_position(T171* C){
  13. T0* R=NULL;
  14. R=((T174*)(r175first((T175*)((C)->_flat_list/*8*/))))->_start_position/*4*/;
  15. return R;
  16. }
  17.  
  18.  
  19. T0* r171type(T171* C,T2 a1){
  20. T0* R=NULL;
  21. R=((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),a1)/*)*/))->_result_type/*12*/;
  22. return R;
  23. }
  24.  
  25.  
  26. T6 r171is_a_in(T171* C,T0* a1,T0* a2){
  27. T6 R=0;
  28. T0* _t2=NULL;
  29. T0* _t1=NULL;
  30. T2 _i=0;
  31. _i=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
  32. /*[IF*/
  33. if((/*(IRF4.6count*/(((T175*)((((T171*)a1))->_flat_list/*8*/)))->_upper/*12*//*)*/)!=(_i)){
  34. r37add_position(r171start_position(((T171*)a1)));
  35. r171error(r171start_position(C),((T0*)ms171_36576));
  36. }
  37. /*FI]*/
  38. /*[IF*/
  39. if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
  40. R=1;
  41. while (!((!(R))||((_i)==(0)))) {
  42. _t1=r171type(C,_i);
  43. _t2=r171type(((T171*)a1),_i);
  44. /*[IF*/
  45. if(!(X62is_a_in(_t1,_t2,a2))){
  46. R=0;
  47. r37print_as_error((T37*)(oBC11eh));
  48. r37add_position(X62start_position(_t1));
  49. r37add_position(X62start_position(_t2));
  50. /*[IRF3.6append*/{T0* b1=((T0*)ms171_26862);
  51. r7append((T7*)(oBC37explanation),b1);
  52. }/*]*/
  53. /*[IRF3.6append*/{T0* b1=X62run_time_mark((((T313*)a2))->_current_type/*0*/);
  54. r7append((T7*)(oBC37explanation),b1);
  55. }/*]*/
  56. r37error((T37*)(oBC11eh),((T0*)ms12_47));
  57. }
  58. /*FI]*/
  59. _i=(_i)-(1);
  60. }
  61. }
  62. /*FI]*/
  63. return R;
  64. }
  65.  
  66.  
  67. void r171add_last(T171* C,T0* a1){
  68. T0* _n2=NULL;
  69. T2 _i=0;
  70. _i=1;
  71. while (!((r175item((T175*)((C)->_flat_list/*8*/),_i))==((void*)(NULL)))) {
  72. _n2=r175item((T175*)((C)->_flat_list/*8*/),_i);
  73. /*[IF*/
  74. if(((((T174*)_n2))->_to_string/*8*/)==((void*)((((T174*)a1))->_to_string/*8*/))){
  75. r37add_position((((T174*)a1))->_start_position/*4*/);
  76. r37add_position((((T174*)_n2))->_start_position/*4*/);
  77. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms163_36984);
  78. r37fatal_error((T37*)(oBC11eh),b1);
  79. }/*]*/
  80. }
  81. /*FI]*/
  82. _i=(_i)+(1);
  83. }
  84. /*[IRF3.6put*/{T175* C1=(T175*)((C)->_flat_list/*8*/);
  85. T0* b1=a1;
  86. T2 b2=_i;
  87. ((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
  88. }/*]*/
  89. /*[IRF3.3set_rank*/((((T174*)(((T174*)a1))))->_rank)=(_i);
  90. /*]*/
  91. }
  92. /*No:FORMAL_ARG_LIST.em1*/
  93.  
  94.  
  95. T2 r171rank_of(T171* C,T0* a1){
  96. T2 R=0;
  97. R=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
  98. while (!(((R)==(0))||((a1)==((void*)(((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),R)/*)*/))->_to_string/*8*/))))) {
  99. R=(R)-(1);
  100. }
  101. return R;
  102. }
  103.  
  104.  
  105. void r171dynamic_runnable(T171* C,T0* a1){
  106. T0* _n2=NULL;
  107. T0* _n1=NULL;
  108. T2 _i=0;
  109. C->_flat_list=r175twin((T175*)((C)->_flat_list/*8*/));
  110. _i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
  111. while (!((_i)==(0))) {
  112. _n1=r175item((T175*)((C)->_flat_list/*8*/),_i);
  113. _n2=r174to_runnable(((T174*)_n1),a1);
  114. /*[IF*/
  115. if((_n2)==((void*)(NULL))){
  116. r171error((((T174*)_n1))->_start_position/*4*/,((T0*)ms163_18336));
  117. }
  118. else{
  119. /*[IRF3.6put*/{T175* C1=(T175*)((C)->_flat_list/*8*/);
  120. T0* b1=_n2;
  121. T2 b2=_i;
  122. ((C1)->_storage/*4*/)[(b2)-((C1)->_lower/*16*/)]=(b1);
  123. }/*]*/
  124. }
  125. /*FI]*/
  126. _i=(_i)-(1);
  127. }
  128. }
  129. /*No:FORMAL_ARG_LIST.fz_dot*/
  130.  
  131.  
  132. T6 r171is_runnable(T171* C,T0* a1){
  133. T6 R=0;
  134. T0* _t=NULL;
  135. T0* _n2=NULL;
  136. T0* _n1=NULL;
  137. T2 _i=0;
  138. R=1;
  139. _i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
  140. while (!((!(R))||((_i)==(0)))) {
  141. _t=r171type(C,_i);
  142. /*[IF*/
  143. if(X62is_run_type(_t)){
  144. /*[IF*/
  145. if((X62run_type(_t))!=((void*)(_t))){
  146. R=0;
  147. }
  148. /*FI]*/
  149. }
  150. else{
  151. R=0;
  152. }
  153. /*FI]*/
  154. _i=(_i)-(1);
  155. }
  156. /*[IF*/
  157. if(R){
  158. _i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
  159. while (!((_i)==(0))) {
  160. _n1=r175item((T175*)((C)->_flat_list/*8*/),_i);
  161. _n2=r174to_runnable(((T174*)_n1),a1);
  162. /*[IF*/
  163. if((_n2)==((void*)(NULL))){
  164. r171error((((T174*)_n1))->_start_position/*4*/,((T0*)ms163_18336));
  165. _i=0;
  166. }
  167. else{
  168. _i=(_i)-(1);
  169. }
  170. /*FI]*/
  171. }
  172. r171check_name_clash(C,a1);
  173. }
  174. /*FI]*/
  175. return R;
  176. }
  177. /*No:FORMAL_ARG_LIST.count*/
  178. /*No:FORMAL_ARG_LIST.fz_cad*/
  179.  
  180.  
  181. void r171error(T0* a1,T0* a2){
  182. r37add_position(a1);
  183. r37error((T37*)(oBC11eh),a2);
  184. }
  185.  
  186.  
  187. void r171make(T171* C,T0* a1){
  188. T0* _an2=NULL;
  189. T2 _rank=0;
  190. T2 _i=0;
  191. T0* _tla2=NULL;
  192. T0* _tla=NULL;
  193. T0* _tlf=NULL;
  194. T0* _an=NULL;
  195. r171declaration_list_make(C,a1);
  196. _i=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
  197. while (!((_i)==(0))) {
  198. _an=/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_i)/*)*/;
  199. _tlf=(((T174*)_an))->_result_type/*12*/;
  200. if(NULL!=(_tlf))switch(((T0*)_tlf)->id) {
  201. case 239: 
  202. break;
  203. default:
  204. _tlf=NULL;
  205. };/*[IF*/
  206. if((_tlf)!=((void*)(NULL))){
  207. _rank=r171rank_of(C,X65to_string((((T239*)_tlf))->_like_what/*8*/));
  208. /*[IF*/
  209. if((_rank)==(_i)){
  210. r37add_position((((T239*)_tlf))->_start_position/*4*/);
  211. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_47439);
  212. r37fatal_error((T37*)(oBC11eh),b1);
  213. }/*]*/
  214. }
  215.  else if((_rank)>(0)){
  216. {T172*n=malloc(sizeof(*n));
  217. *n=M172;
  218. r172refer_to(n,X65start_position((((T239*)_tlf))->_like_what/*8*/),(T0*)C,_rank);
  219. _an2=(T0*)n;
  220. }
  221. {T242*n=malloc(sizeof(*n));
  222. *n=M242;
  223. r242make(n,(((T239*)_tlf))->_start_position/*4*/,_an2);
  224. _tla=(T0*)n;
  225. }
  226. /*[IRF3.3set_result_type*/((((T174*)(((T174*)_an))))->_result_type)=(_tla);
  227. /*]*/
  228. }
  229. /*FI]*/
  230. }
  231. /*FI]*/
  232. _i=(_i)-(1);
  233. }
  234. /*[IF*/
  235. if(r54all_check((T54*)(oBC11run_control))){
  236. _i=/*(IRF4.6count*/(((T175*)((C)->_flat_list/*8*/)))->_upper/*12*//*)*/;
  237. while (!((_i)==(0))) {
  238. _tla=((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_i)/*)*/))->_result_type/*12*/;
  239. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  240. case 242: 
  241. break;
  242. default:
  243. _tla=NULL;
  244. };/*[IF*/
  245. if((_tla)!=((void*)(NULL))){
  246. _rank=r171rank_of(C,r172to_string((T172*)((((T242*)_tla))->_like_what/*8*/)));
  247. _tla2=((T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_rank)/*)*/))->_result_type/*12*/;
  248. if(NULL!=(_tla2))switch(((T0*)_tla2)->id) {
  249. case 242: 
  250. break;
  251. default:
  252. _tla2=NULL;
  253. };/*[IF*/
  254. if((_tla2)!=((void*)(NULL))){
  255. r37add_position((((T242*)_tla))->_start_position/*4*/);
  256. r37add_position((((T242*)_tla2))->_start_position/*4*/);
  257. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_47439);
  258. r37fatal_error((T37*)(oBC11eh),b1);
  259. }/*]*/
  260. }
  261. /*FI]*/
  262. }
  263. /*FI]*/
  264. _i=(_i)-(1);
  265. }
  266. }
  267. /*FI]*/
  268. }
  269.  
  270.  
  271. void r171declaration_list_make(T171* C,T0* a1){
  272. T2 _actual_count=0;
  273. T2 _il=0;
  274. C->_list=a1;
  275. _il=((T293*)((C)->_list/*4*/))->_upper/*8*/;
  276. while (!((_il)==(0))) {
  277. _actual_count=(_actual_count)+(X292count(r293item((T293*)((C)->_list/*4*/),_il)));
  278. _il=(_il)-(1);
  279. }
  280. {T175*n=malloc(sizeof(*n));
  281. *n=M175;
  282. r175make(n,1,_actual_count);
  283. C->_flat_list=(T0*)n;
  284. }
  285. _il=1;
  286. while (!((_il)>(((T293*)((C)->_list/*4*/))->_upper/*8*/))) {
  287. X292append_in(r293item((T293*)((C)->_list/*4*/),_il),(T0*)C);
  288. _il=(_il)+(1);
  289. }
  290. }
  291.  
  292.  
  293. void r171pretty_print(T171* C){
  294. T2 _i=0;
  295. r310put_character((T310*)(oBC11fmt),'\50');
  296. r310level_incr((T310*)(oBC11fmt));
  297. _i=1;
  298. while (!((_i)>(((T293*)((C)->_list/*4*/))->_upper/*8*/))) {
  299. X292pretty_print(r293item((T293*)((C)->_list/*4*/),_i));
  300. _i=(_i)+(1);
  301. /*[IF*/
  302. if((_i)<=(((T293*)((C)->_list/*4*/))->_upper/*8*/)){
  303. r310put_string((T310*)(oBC11fmt),((T0*)ms171_188));
  304. }
  305. /*FI]*/
  306. }
  307. r310level_decr((T310*)(oBC11fmt));
  308. r310put_character((T310*)(oBC11fmt),'\51');
  309. }
  310. /*No:FORMAL_ARG_LIST.name*/
  311.  
  312.  
  313. void r171check_name_clash(T171* C,T0* a1){
  314. T2 _i=0;
  315. _i=((T175*)((C)->_flat_list/*8*/))->_upper/*12*/;
  316. while (!((_i)==(0))) {
  317. /*[IRF3.6name_clash*/{T174* C1=(T174*)(/*(IRF4.6name*/r175item(((T175*)((C)->_flat_list/*8*/)),_i)/*)*/);
  318. T0* b1=a1;
  319. r174name_clash_for(C1,b1,((T0*)ms174_120934));
  320. }/*]*/
  321. _i=(_i)-(1);
  322. }
  323. }
  324. /*No:FORMAL_ARG_LIST.flat_list*/
  325.  
  326.  
  327. void r171with(T171* C,T0* a1,T0* a2){
  328. *((T171*)(C))=*((T171*)(a1));
  329. r171dynamic_runnable(C,a2);
  330. r171check_name_clash(C,a2);
  331. }
  332. /*No:FORMAL_ARG_LIST.list*/
  333. /*No:FORMAL_ARG_LIST.fatal_error*/
  334. /*No:RUN_FEATURE_2.use_current_state*/
  335. /*No:RUN_FEATURE_2.arguments*/
  336. /*No:RUN_FEATURE_2.actuals_clients*/
  337.  
  338.  
  339. void r345initialize(T345* C){
  340. C->_result_type=((T299*)((C)->_base_feature/*24*/))->_result_type/*20*/;
  341. C->_result_type=X62to_runnable((C)->_result_type/*28*/,(C)->_current_type/*4*/);
  342. }
  343.  
  344.  
  345. T0* r345start_position(T345* C){
  346. T0* R=NULL;
  347. R=r299start_position((T299*)((C)->_base_feature/*24*/));
  348. return R;
  349. }
  350. /*No:RUN_FEATURE_2.clients_memory*/
  351. /*No:RUN_FEATURE_2.ucs_not_computed*/
  352. /*No:RUN_FEATURE_2.current_type*/
  353.  
  354.  
  355. void r345add_client(T345* C,T0* a1){
  356. T2 _i=0;
  357. /*[IF*/
  358. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  359. {T319*n=malloc(sizeof(*n));
  360. *n=M319;
  361. r319with_capacity(n,4);
  362. C->_actuals_clients=(T0*)n;
  363. }
  364. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  365. }
  366. else{
  367. _i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
  368. /*[IF*/
  369. if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  370. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  371. }
  372. /*FI]*/
  373. }
  374. /*FI]*/
  375. r313add_client((T313*)(r345run_class(C)),a1);
  376. }
  377.  
  378.  
  379. T0* r345run_class(T345* C){
  380. T0* R=NULL;
  381. R=X62run_class((C)->_current_type/*4*/);
  382. return R;
  383. }
  384. /*No:RUN_FEATURE_2.result_type*/
  385. /*No:RUN_FEATURE_2.base_feature*/
  386.  
  387.  
  388. void r345make(T345* C,T0* a1,T0* a2,T0* a3){
  389. C->_current_type=a1;
  390. C->_name=a2;
  391. C->_base_feature=a3;
  392. /*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r345run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
  393. /*]*/
  394. r42incr_magic_count((T42*)(oBC11small_eiffel));
  395. C->_use_current_state=15;
  396. r42push((T42*)(oBC11small_eiffel),(T0*)C);
  397. r345initialize(C);
  398. r42pop((T42*)(oBC11small_eiffel));
  399. }
  400. /*No:RUN_FEATURE_2.name*/
  401. /*No:RUN_FEATURE_2.local_vars*/
  402.  
  403.  
  404. T2 r345arg_count(void){
  405. T2 R=0;
  406. /*[IF*/
  407. /*AF*//*AE*/
  408. /*FI]*/
  409. return R;
  410. }
  411.  
  412.  
  413. T0* r345clients(T345* C){
  414. T0* R=NULL;
  415. T0* _bfbc=NULL;
  416. T0* _bc=NULL;
  417. /*[IF*/
  418. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  419. _bc=X62base_class((C)->_current_type/*4*/);
  420. _bfbc=((T299*)((C)->_base_feature/*24*/))->_base_class/*4*/;
  421. /*[IF*/
  422. if((_bc)==((void*)(_bfbc))){
  423. R=((T299*)((C)->_base_feature/*24*/))->_clients/*16*/;
  424. }
  425. else{
  426. R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
  427. }
  428. /*FI]*/
  429. C->_clients_memory=R;
  430. }
  431. else{
  432. R=(C)->_clients_memory/*8*/;
  433. }
  434. /*FI]*/
  435. return R;
  436. }
  437.  
  438.  
  439. T6 r345is_exported_in(T345* C,T0* a1){
  440. T6 R=0;
  441. R=r83gives_permission_to((T83*)(r345clients(C)),a1);
  442. return R;
  443. }
  444.  
  445.  
  446. void r67make_n(T67* C,T0* a1){
  447. T2 _j=0;
  448. T2 _i=0;
  449. _i=(((T68*)a1))->_upper/*8*/;
  450. while (!((_i)<(0))) {
  451. _j=(_i)-(1);
  452. while (!((_j)<(0))) {
  453. /*[IF*/
  454. if((X65to_key(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_i]/*)*/))==((void*)(X65to_key(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_j]/*)*/)))){
  455. r67fe_multiple(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_i]/*)*/,/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[_j]/*)*/);
  456. }
  457. /*FI]*/
  458. _j=(_j)-(1);
  459. }
  460. _i=(_i)-(1);
  461. }
  462. C->_first=/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[0]/*)*/;
  463. _i=(((T68*)a1))->_upper/*8*/;
  464. /*[IF*/
  465. if((_i)>(0)){
  466. {T68*n=malloc(sizeof(*n));
  467. *n=M68;
  468. r68make(n,_i);
  469. C->_remainder=(T0*)n;
  470. }
  471. _j=0;
  472. while (!((_i)==(0))) {
  473. /*[IRF3.5put*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[_j]=(/*(IRF4.6item*/((((T68*)a1))->_storage/*0*/)[(_j)+(1)]/*)*/);
  474. /*]*/
  475. _j=(_j)+(1);
  476. _i=(_i)-(1);
  477. }
  478. }
  479. /*FI]*/
  480. }
  481.  
  482.  
  483. T0* r67feature_name(T67* C,T0* a1){
  484. T0* R=NULL;
  485. T2 _i=0;
  486. /*[IF*/
  487. if((X65to_key((C)->_first/*0*/))==((void*)(a1))){
  488. R=(C)->_first/*0*/;
  489. }
  490.  else if(((C)->_remainder/*4*/)==((void*)(NULL))){
  491. }
  492. else{
  493. _i=((T68*)((C)->_remainder/*4*/))->_upper/*8*/;
  494. while (!(((_i)<(0))||((a1)==((void*)(X65to_key(/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/)))))) {
  495. _i=(_i)-(1);
  496. }
  497. /*[IF*/
  498. if((_i)>=(0)){
  499. R=/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[_i]/*)*/;
  500. }
  501. /*FI]*/
  502. }
  503. /*FI]*/
  504. return R;
  505. }
  506.  
  507.  
  508. void r67fe_multiple(T0* a1,T0* a2){
  509. r37add_position(X65start_position(a1));
  510. r37add_position(X65start_position(a2));
  511. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms67_61088);
  512. r37fatal_error((T37*)(oBC11eh),b1);
  513. }/*]*/
  514. }
  515.  
  516.  
  517. T6 r67has(T67* C,T0* a1){
  518. T6 R=0;
  519. R=(r67index_of(C,a1))>(0);
  520. return R;
  521. }
  522. /*No:FEATURE_NAME_LIST.make_1*/
  523.  
  524.  
  525. void r67add_last(T67* C,T0* a1){
  526. T0* _fn2=NULL;
  527. _fn2=r67feature_name(C,X65to_key(a1));
  528. /*[IF*/
  529. if((_fn2)!=((void*)(NULL))){
  530. r67fe_multiple(_fn2,a1);
  531. }
  532. /*FI]*/
  533. /*[IF*/
  534. if(((C)->_remainder/*4*/)==((void*)(NULL))){
  535. {T68*n=malloc(sizeof(*n));
  536. *n=M68;
  537. r68with_capacity(n,4);
  538. C->_remainder=(T0*)n;
  539. }
  540. }
  541. /*FI]*/
  542. r68add_last((T68*)((C)->_remainder/*4*/),a1);
  543. }
  544.  
  545.  
  546. T0* r67item(T67* C,T2 a1){
  547. T0* R=NULL;
  548. /*[IF*/
  549. if((a1)==(1)){
  550. R=(C)->_first/*0*/;
  551. }
  552. else{
  553. R=/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[(a1)-(2)]/*)*/;
  554. }
  555. /*FI]*/
  556. return R;
  557. }
  558. /*No:FEATURE_NAME_LIST.first*/
  559.  
  560.  
  561. T2 r67count(T67* C){
  562. T2 R=0;
  563. /*[IF*/
  564. if(((C)->_remainder/*4*/)==((void*)(NULL))){
  565. R=1;
  566. }
  567. else{
  568. R=(((T68*)((C)->_remainder/*4*/))->_upper/*8*/)+(2);
  569. }
  570. /*FI]*/
  571. return R;
  572. }
  573.  
  574.  
  575. void r67pretty_print(T67* C){
  576. T2 _icount=0;
  577. T2 _i=0;
  578. _i=1;
  579. while (!((_i)>(r67count(C)))) {
  580. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
  581. /*]*/
  582. X65declaration_pretty_print(r67item(C,_i));
  583. _i=(_i)+(1);
  584. _icount=(_icount)+(1);
  585. /*[IF*/
  586. if((_i)<=(r67count(C))){
  587. r310put_string((T310*)(oBC11fmt),((T0*)ms67_158));
  588. /*[IF*/
  589. if((_icount)>(4)){
  590. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(3);
  591. /*]*/
  592. r310indent((T310*)(oBC11fmt));
  593. _icount=0;
  594. }
  595. /*FI]*/
  596. }
  597. /*FI]*/
  598. }
  599. }
  600. /*No:FEATURE_NAME_LIST.remainder*/
  601.  
  602.  
  603. T2 r67index_of(T67* C,T0* a1){
  604. T2 R=0;
  605. T0* _fn_key=NULL;
  606. _fn_key=X65to_key(a1);
  607. /*[IF*/
  608. if((X65to_key((C)->_first/*0*/))==((void*)(_fn_key))){
  609. R=1;
  610. }
  611.  else if(((C)->_remainder/*4*/)==((void*)(NULL))){
  612. }
  613. else{
  614. R=((T68*)((C)->_remainder/*4*/))->_upper/*8*/;
  615. while (!(((R)<(0))||((_fn_key)==((void*)(X65to_key(/*(IRF4.6item*/(((T68*)((C)->_remainder/*4*/))->_storage/*0*/)[R]/*)*/)))))) {
  616. R=(R)-(1);
  617. }
  618. /*[IF*/
  619. if((R)<(0)){
  620. R=0;
  621. }
  622. else{
  623. R=(R)+(2);
  624. }
  625. /*FI]*/
  626. }
  627. /*FI]*/
  628. return R;
  629. }
  630. /*No:FEATURE_NAME_LIST.fatal_error*/
  631. /*No:CLASS_INVARIANT.start_position*/
  632. /*No:CLASS_INVARIANT.header_comment*/
  633. /*No:CLASS_INVARIANT.fz_invariant*/
  634.  
  635.  
  636. void r86make(T86* C,T0* a1,T0* a2,T0* a3){
  637. C->_start_position=a1;
  638. C->_header_comment=a2;
  639. C->_list=a3;
  640. }
  641.  
  642.  
  643. void r86pretty_print(T86* C){
  644. T2 _i=0;
  645. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(0);
  646. /*]*/
  647. /*[IF*/
  648. if(!(r310zen_mode((T310*)(oBC11fmt)))){
  649. r310skip((T310*)(oBC11fmt),1);
  650. }
  651. /*FI]*/
  652. r310keyword((T310*)(oBC11fmt),r86name());
  653. /*[IF*/
  654. if(((C)->_header_comment/*4*/)!=((void*)(NULL))){
  655. r64pretty_print((T64*)((C)->_header_comment/*4*/));
  656. }
  657. /*FI]*/
  658. /*[IF*/
  659. if(((C)->_list/*8*/)!=((void*)(NULL))){
  660. _i=1;
  661. while (!((_i)>(((T88*)((C)->_list/*8*/))->_upper/*8*/))) {
  662. /*[IRF3.3set_indent_level*/((((T310*)((T310*)(oBC11fmt))))->_indent_level)=(1);
  663. /*]*/
  664. r310indent((T310*)(oBC11fmt));
  665. /*[IF*/
  666. if(!(r310zen_mode((T310*)(oBC11fmt)))){
  667. r310skip((T310*)(oBC11fmt),1);
  668. }
  669. /*FI]*/
  670. /*[IRF3.3set_semi_colon_flag*/((((T310*)((T310*)(oBC11fmt))))->_semi_colon_flag)=(1);
  671. /*]*/
  672. r85pretty_print((T85*)(r88item((T88*)((C)->_list/*8*/),_i)));
  673. _i=(_i)+(1);
  674. }
  675. }
  676. /*FI]*/
  677. }
  678.  
  679.  
  680. T0* r86name(void){
  681. T0* R=NULL;
  682. R=((T0*)ms12_14427);
  683. return R;
  684. }
  685. /*No:CLASS_INVARIANT.list*/
  686. /*No:CLASS_NAME_LIST.make_1*/
  687.  
  688.  
  689. T6 r179gives_permission_to_any(T179* C){
  690. T6 R=0;
  691. T2 _i=0;
  692. _i=r179count(C);
  693. while (!((R)||((_i)==(0)))) {
  694. R=(((T49*)(r179item(C,_i)))->_to_string/*0*/)==((void*)(((T0*)ms13_714)));
  695. _i=(_i)-(1);
  696. }
  697. return R;
  698. }
  699.  
  700.  
  701. void r179add_last(T179* C,T0* a1){
  702. T2 _i=0;
  703. _i=r179index_of(C,a1);
  704. /*[IF*/
  705. if((_i)>(0)){
  706. r37add_position(((T49*)(r179item(C,_i)))->_start_position/*4*/);
  707. r179warning((((T49*)a1))->_start_position/*4*/,((T0*)ms179_54510));
  708. }
  709. /*FI]*/
  710. /*[IF*/
  711. if(((C)->_remainder/*4*/)==((void*)(NULL))){
  712. {T180*n=malloc(sizeof(*n));
  713. *n=M180;
  714. r180with_capacity(n,4);
  715. C->_remainder=(T0*)n;
  716. }
  717. }
  718. /*FI]*/
  719. r180add_last((T180*)((C)->_remainder/*4*/),a1);
  720. }
  721.  
  722.  
  723. void r179merge(T179* C,T0* a1,T0* a2){
  724. T0* _cn=NULL;
  725. T2 _i=0;
  726. C->_first=r179item(((T179*)a1),1);
  727. {T180*n=malloc(sizeof(*n));
  728. *n=M180;
  729. r180with_capacity(n,((r179count(((T179*)a1)))+(r179count(((T179*)a2))))-(1));
  730. C->_remainder=(T0*)n;
  731. }
  732. _i=r179count(((T179*)a1));
  733. while (!((_i)==(1))) {
  734. r180add_last((T180*)((C)->_remainder/*4*/),r179item(((T179*)a1),_i));
  735. _i=(_i)-(1);
  736. }
  737. _i=r179count(((T179*)a2));
  738. while (!((_i)==(0))) {
  739. _cn=r179item(((T179*)a2),_i);
  740. /*[IF*/
  741. if((r179index_of(C,_cn))==(0)){
  742. r180add_last((T180*)((C)->_remainder/*4*/),_cn);
  743. }
  744. /*FI]*/
  745. _i=(_i)-(1);
  746. }
  747. }
  748.  
  749.  
  750. T0* r179item(T179* C,T2 a1){
  751. T0* R=NULL;
  752. /*[IF*/
  753. if((a1)==(1)){
  754. R=(C)->_first/*0*/;
  755. }
  756. else{
  757. R=/*(IRF4.6item*/(((T180*)((C)->_remainder/*4*/))->_storage/*0*/)[(a1)-(2)]/*)*/;
  758. }
  759. /*FI]*/
  760. return R;
  761. }
  762.  
  763.  
  764. void r179warning(T0* a1,T0* a2){
  765. r37add_position(a1);
  766. r37warning((T37*)(oBC11eh),a2);
  767. }
  768. /*No:CLASS_NAME_LIST.first*/
  769.  
  770.  
  771. T2 r179count(T179* C){
  772. T2 R=0;
  773. /*[IF*/
  774. if(((C)->_remainder/*4*/)==((void*)(NULL))){
  775. R=1;
  776. }
  777. else{
  778. R=(2)+(((T180*)((C)->_remainder/*4*/))->_upper/*8*/);
  779. }
  780. /*FI]*/
  781. return R;
  782. }
  783.  
  784.  
  785. T6 r179gives_permission_to(T179* C,T0* a1){
  786. T6 R=0;
  787. T2 _i=0;
  788. /*[IF*/
  789. if((r179index_of(C,a1))>(0)){
  790. R=1;
  791. }
  792. else{
  793. _i=r179count(C);
  794. while (!((R)||((_i)==(0)))) {
  795. R=r49is_subclass_of(((T49*)a1),r179item(C,_i));
  796. _i=(_i)-(1);
  797. }
  798. }
  799. /*FI]*/
  800. return R;
  801. }
  802. /*No:CLASS_NAME_LIST.us_any*/
  803.  
  804.  
  805. void r179pretty_print(T179* C){
  806. T2 _i=0;
  807. _i=1;
  808. while (!((_i)>(r179count(C)))) {
  809. /*[IRF3.6pretty_print*/{T49* C1=(T49*)(r179item(C,_i));
  810. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*0*/);
  811. }/*]*/
  812. /*[IF*/
  813. if((_i)<(r179count(C))){
  814. r310put_string((T310*)(oBC11fmt),((T0*)ms179_158));
  815. }
  816. /*FI]*/
  817. _i=(_i)+(1);
  818. }
  819. }
  820. /*No:CLASS_NAME_LIST.remainder*/
  821.  
  822.  
  823. T2 r179index_of(T179* C,T0* a1){
  824. T2 R=0;
  825. T0* _to_string=NULL;
  826. _to_string=(((T49*)a1))->_to_string/*0*/;
  827. R=r179count(C);
  828. while (!(((R)==(0))||((_to_string)==((void*)(((T49*)(r179item(C,R)))->_to_string/*0*/))))) {
  829. R=(R)-(1);
  830. }
  831. return R;
  832. }
  833. /*No:IMPLICIT_CURRENT.start_position*/
  834.  
  835.  
  836. T0* r177add_comment(T177* C,T0* a1){
  837. T0* R=NULL;
  838. /*[IF*/
  839. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  840. R=(T0*)C;
  841. }
  842. else{
  843. {T214*n=malloc(sizeof(*n));
  844. *n=M214;
  845. r214make(n,(T0*)C,a1);
  846. R=(T0*)n;
  847. }
  848. }
  849. /*FI]*/
  850. return R;
  851. }
  852. /*No:IMPLICIT_CURRENT.is_written*/
  853.  
  854.  
  855. T2 r177to_integer(T177* C){
  856. T2 R=0;
  857. r177error((C)->_start_position/*4*/,((T0*)ms12_45846));
  858. return R;
  859. }
  860. /*No:IMPLICIT_CURRENT.print_as_target*/
  861. /*No:IMPLICIT_CURRENT.bracketed_pretty_print*/
  862.  
  863.  
  864. T0* r177to_runnable(T177* C,T0* a1){
  865. T0* R=NULL;
  866. /*[IF*/
  867. if(((C)->_result_type/*8*/)==((void*)(NULL))){
  868. C->_result_type=a1;
  869. R=(T0*)C;
  870. }
  871.  else if(((C)->_result_type/*8*/)==((void*)(a1))){
  872. R=(T0*)C;
  873. }
  874. else{
  875. {T177*n=malloc(sizeof(*n));
  876. *n=M177;
  877. /*[IRF3.3make*/((((T177*)(n)))->_start_position)=((C)->_start_position/*4*/);
  878. /*]*/
  879. R=(T0*)n;
  880. }
  881. R=r177to_runnable(((T177*)R),a1);
  882. }
  883. /*FI]*/
  884. return R;
  885. }
  886. /*No:IMPLICIT_CURRENT.fz_iinaiv*/
  887. /*No:IMPLICIT_CURRENT.result_type*/
  888.  
  889.  
  890. void r177error(T0* a1,T0* a2){
  891. r37add_position(a1);
  892. r37error((T37*)(oBC11eh),a2);
  893. }
  894. /*No:IMPLICIT_CURRENT.precedence*/
  895. /*No:IMPLICIT_CURRENT.make*/
  896. /*No:IMPLICIT_CURRENT.is_current*/
  897. /*No:IMPLICIT_CURRENT.pretty_print*/
  898. /*No:IMPLICIT_CURRENT.is_void*/
  899. /*No:IMPLICIT_CURRENT.us_current*/
  900. /*No:IMPLICIT_CURRENT.atomic_precedence*/
  901. /*No:TMP_NAME.fz_once*/
  902.  
  903.  
  904. T6 r92look_in(T0* a1){
  905. T6 R=0;
  906. T2 _i=0;
  907. _i=(((T32*)a1))->_upper/*8*/;
  908. while (!((R)||((_i)==(0)))) {
  909. R=r7same_as((T7*)(r32item(((T32*)a1),_i)),oBC92tmp_string);
  910. _i=(_i)-(1);
  911. }
  912. return R;
  913. }
  914. /*No:TMP_NAME.fz_old*/
  915. /*No:TMP_NAME.fz_check*/
  916.  
  917.  
  918. T0* r92start_position(T92* C){
  919. T0* R=NULL;
  920. {T39*n=malloc(sizeof(*n));
  921. *n=M39;
  922. r39make(n,(C)->_li/*4*/,(C)->_co/*8*/);
  923. R=(T0*)n;
  924. }
  925. return R;
  926. }
  927.  
  928.  
  929. T0* r92to_string(T92* C){
  930. T0* R=NULL;
  931. /*[IF*/
  932. if(((C)->_unique_string_memory/*0*/)==((void*)(NULL))){
  933. R=r66item(oBC92tmp_string);
  934. C->_unique_string_memory=R;
  935. }
  936. else{
  937. R=(C)->_unique_string_memory/*0*/;
  938. }
  939. /*FI]*/
  940. return R;
  941. }
  942. /*No:TMP_NAME.fz_if*/
  943.  
  944.  
  945. T0* r92to_prefix_name(T92* C){
  946. T0* R=NULL;
  947. {T125*n=malloc(sizeof(*n));
  948. *n=M125;
  949. r125make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
  950. R=(T0*)n;
  951. }
  952. return R;
  953. }
  954. /*No:TMP_NAME.fz_ensure*/
  955. T0*oBC92keyword_p=NULL;
  956. /*No:TMP_NAME.unique_string_memory*/
  957. /*No:TMP_NAME.fz_frozen*/
  958. /*No:TMP_NAME.fz_do*/
  959. /*No:TMP_NAME.co*/
  960. /*No:TMP_NAME.fz_as*/
  961. /*No:TMP_NAME.li*/
  962. T0*oBC92keyword_u=NULL;
  963. /*No:TMP_NAME.fz_then*/
  964.  
  965.  
  966. T0* r92to_argument_name1(T92* C){
  967. T0* R=NULL;
  968. {T174*n=malloc(sizeof(*n));
  969. *n=M174;
  970. r174make(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),oBC92tmp_string);
  971. R=(T0*)n;
  972. }
  973. return R;
  974. }
  975.  
  976.  
  977. T0* r92to_infix_name(T0* a1){
  978. T0* R=NULL;
  979. {T121*n=malloc(sizeof(*n));
  980. *n=M121;
  981. r121make(n,oBC92tmp_string,a1);
  982. R=(T0*)n;
  983. }
  984. return R;
  985. }
  986. /*No:TMP_NAME.us_void*/
  987. /*No:TMP_NAME.fz_true*/
  988. /*No:TMP_NAME.extend*/
  989. /*No:TMP_NAME.fz_rename*/
  990. /*No:TMP_NAME.fz_rescue*/
  991. /*No:TMP_NAME.fz_indexing*/
  992. /*No:TMP_NAME.fz_when*/
  993.  
  994.  
  995. T0* r92to_simple_feature_name(T92* C){
  996. T0* R=NULL;
  997. {T131*n=malloc(sizeof(*n));
  998. *n=M131;
  999. r131make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
  1000. R=(T0*)n;
  1001. }
  1002. return R;
  1003. }
  1004. /*No:TMP_NAME.fz_is*/
  1005. T0*oBC92keyword_l=NULL;
  1006.  
  1007.  
  1008. T6 r92is_result(void){
  1009. T6 R=0;
  1010. /*[IF*/
  1011. if((((T7*)(oBC92tmp_string))->_count/*4*/)==(6)){
  1012. R=r7same_as((T7*)(((T0*)ms13_7404)),oBC92tmp_string);
  1013. }
  1014. /*FI]*/
  1015. return R;
  1016. }
  1017. /*No:TMP_NAME.fz_elseif*/
  1018.  
  1019.  
  1020. T0* r92to_local_name1(T92* C){
  1021. T0* R=NULL;
  1022. {T167*n=malloc(sizeof(*n));
  1023. *n=M167;
  1024. r167make(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),oBC92tmp_string);
  1025. R=(T0*)n;
  1026. }
  1027. return R;
  1028. }
  1029. /*No:TMP_NAME.fz_feature*/
  1030. /*No:TMP_NAME.fz_debug*/
  1031. /*No:TMP_NAME.fz_creation*/
  1032. T0*oBC92keyword_c=NULL;
  1033. /*No:TMP_NAME.fz_select*/
  1034. /*No:TMP_NAME.fz_loop*/
  1035. /*No:TMP_NAME.fz_obsolete*/
  1036. /*No:TMP_NAME.us_or*/
  1037. /*No:TMP_NAME.count*/
  1038. /*No:TMP_NAME.fz_alias*/
  1039. /*No:TMP_NAME.fz_expanded*/
  1040. /*No:TMP_NAME.make*/
  1041.  
  1042.  
  1043. T6 r92is_current(void){
  1044. T6 R=0;
  1045. /*[IF*/
  1046. if((((T7*)(oBC92tmp_string))->_count/*4*/)==(7)){
  1047. R=r7same_as((T7*)(((T0*)ms13_9380)),oBC92tmp_string);
  1048. }
  1049. /*FI]*/
  1050. return R;
  1051. }
  1052. /*No:TMP_NAME.us_implies*/
  1053. /*No:TMP_NAME.fz_class*/
  1054. /*No:TMP_NAME.fz_strip*/
  1055. /*No:TMP_NAME.fz_prefix*/
  1056. /*No:TMP_NAME.fz_infix*/
  1057.  
  1058.  
  1059. T0* r92to_infix_name_use(T92* C){
  1060. T0* R=NULL;
  1061. {T121*n=malloc(sizeof(*n));
  1062. *n=M121;
  1063. r121make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
  1064. R=(T0*)n;
  1065. }
  1066. return R;
  1067. }
  1068. /*No:TMP_NAME.fz_unique*/
  1069. T0*oBC92tmp_string=NULL;
  1070. /*No:TMP_NAME.fz_export*/
  1071. T0*oBC92keyword_r=NULL;
  1072. /*No:TMP_NAME.us_precursor*/
  1073. /*No:TMP_NAME.fz_variant*/
  1074. /*No:TMP_NAME.fz_inherit*/
  1075. /*No:TMP_NAME.fz_inspect*/
  1076. /*No:TMP_NAME.fz_local*/
  1077. /*No:TMP_NAME.us_result*/
  1078. T0*oBC92keyword_d=NULL;
  1079. /*No:TMP_NAME.fz_all*/
  1080. /*No:TMP_NAME.fz_redefine*/
  1081.  
  1082.  
  1083. T0* r92to_tag_name(T92* C){
  1084. T0* R=NULL;
  1085. {T90*n=malloc(sizeof(*n));
  1086. *n=M90;
  1087. r90make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
  1088. R=(T0*)n;
  1089. }
  1090. return R;
  1091. }
  1092. /*No:TMP_NAME.fz_separate*/
  1093.  
  1094.  
  1095. T0* r92to_e_void(T92* C){
  1096. T0* R=NULL;
  1097. {T140*n=malloc(sizeof(*n));
  1098. *n=M140;
  1099. /*[IRF3.3make*/((((T140*)(n)))->_start_position)=(r92pos((C)->_li/*4*/,(C)->_co/*8*/));
  1100. /*]*/
  1101. R=(T0*)n;
  1102. }
  1103. return R;
  1104. }
  1105. /*No:TMP_NAME.fz_require*/
  1106. T0*oBC92keyword_i=NULL;
  1107. /*No:TMP_NAME.fz_retry*/
  1108. /*No:TMP_NAME.us_xor*/
  1109. /*No:TMP_NAME.fz_invariant*/
  1110.  
  1111.  
  1112. T0* r92pos(T2 a1,T2 a2){
  1113. T0* R=NULL;
  1114. {T39*n=malloc(sizeof(*n));
  1115. *n=M39;
  1116. r39make(n,a1,a2);
  1117. R=(T0*)n;
  1118. }
  1119. return R;
  1120. }
  1121. /*No:TMP_NAME.fz_until*/
  1122. T0*oBC92keyword_s=NULL;
  1123. /*No:TMP_NAME.us_current*/
  1124. T0*oBC92keyword_e=NULL;
  1125.  
  1126.  
  1127. void r92initialize(T92* C,T2 a1,T2 a2){
  1128. C->_li=a1;
  1129. C->_co=a2;
  1130. /*[IRF3.3clear*/((((T7*)((T7*)(oBC92tmp_string))))->_count)=(0);
  1131. /*]*/
  1132. C->_unique_string_memory=NULL;
  1133. }
  1134. /*No:TMP_NAME.fz_else*/
  1135.  
  1136.  
  1137. T0* r92to_local_name2(T92* C,T0* a1,T2 a2){
  1138. T0* R=NULL;
  1139. {T164*n=malloc(sizeof(*n));
  1140. *n=M164;
  1141. r164refer_to(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
  1142. R=(T0*)n;
  1143. }
  1144. return R;
  1145. }
  1146.  
  1147.  
  1148. T6 r92isa_keyword(void){
  1149. T6 R=0;
  1150. T3 _c=0;
  1151. _c=r3to_lower(/*(IRF4.6item*/(((T7*)(oBC92tmp_string))->_storage/*0*/)[(1)-(1)]/*)*/);
  1152. {int z1=_c;
  1153.  
  1154. if((97==z1)){
  1155. R=r92look_in(oBC92keyword_a);
  1156. }
  1157.  else 
  1158. if((99==z1)){
  1159. R=r92look_in(oBC92keyword_c);
  1160. }
  1161.  else 
  1162. if((100==z1)){
  1163. R=r92look_in(oBC92keyword_d);
  1164. }
  1165.  else 
  1166. if((101==z1)){
  1167. R=r92look_in(oBC92keyword_e);
  1168. }
  1169.  else 
  1170. if((102==z1)){
  1171. R=r92look_in(oBC92keyword_f);
  1172. }
  1173.  else 
  1174. if((105==z1)){
  1175. R=r92look_in(oBC92keyword_i);
  1176. }
  1177.  else 
  1178. if((108==z1)){
  1179. R=r92look_in(oBC92keyword_l);
  1180. }
  1181.  else 
  1182. if((111==z1)){
  1183. R=r92look_in(oBC92keyword_o);
  1184. }
  1185.  else 
  1186. if((112==z1)){
  1187. R=r92look_in(oBC92keyword_p);
  1188. }
  1189.  else 
  1190. if((114==z1)){
  1191. R=r92look_in(oBC92keyword_r);
  1192. }
  1193.  else 
  1194. if((115==z1)){
  1195. R=r92look_in(oBC92keyword_s);
  1196. }
  1197.  else 
  1198. if((116==z1)){
  1199. R=r92look_in(oBC92keyword_t);
  1200. }
  1201.  else 
  1202. if((117==z1)){
  1203. R=r92look_in(oBC92keyword_u);
  1204. }
  1205.  else 
  1206. if((118==z1)){
  1207. R=r7same_as((T7*)(((T0*)ms12_9506)),oBC92tmp_string);
  1208. }
  1209.  else 
  1210. if((119==z1)){
  1211. R=r7same_as((T7*)(((T0*)ms12_1776)),oBC92tmp_string);
  1212. }
  1213.  else 
  1214. if((120==z1)){
  1215. R=r7same_as((T7*)(((T0*)ms13_1053a)),oBC92tmp_string);
  1216. }
  1217. }
  1218. return R;
  1219. }
  1220. /*No:TMP_NAME.fz_deferred*/
  1221. /*No:TMP_NAME.fz_like*/
  1222.  
  1223.  
  1224. T0* r92to_class_name(T92* C){
  1225. T0* R=NULL;
  1226. {T49*n=malloc(sizeof(*n));
  1227. *n=M49;
  1228. r49make(n,oBC92tmp_string,r92pos((C)->_li/*4*/,(C)->_co/*8*/));
  1229. R=(T0*)n;
  1230. }
  1231. return R;
  1232. }
  1233. T0*oBC92keyword_o=NULL;
  1234.  
  1235.  
  1236. T0* r92to_argument_name2(T92* C,T0* a1,T2 a2){
  1237. T0* R=NULL;
  1238. {T172*n=malloc(sizeof(*n));
  1239. *n=M172;
  1240. r172refer_to(n,r92pos((C)->_li/*4*/,(C)->_co/*8*/),a1,a2);
  1241. R=(T0*)n;
  1242. }
  1243. return R;
  1244. }
  1245. /*No:TMP_NAME.fz_end*/
  1246. /*No:TMP_NAME.fz_undefine*/
  1247. T0*oBC92keyword_a=NULL;
  1248. T0*oBC92keyword_t=NULL;
  1249. /*No:TMP_NAME.fz_external*/
  1250. /*No:TMP_NAME.fz_from*/
  1251. /*No:TMP_NAME.fz_false*/
  1252.  
  1253.  
  1254. T6 r92is_void(void){
  1255. T6 R=0;
  1256. /*[IF*/
  1257. if((((T7*)(oBC92tmp_string))->_count/*4*/)==(4)){
  1258. R=r7same_as((T7*)(((T0*)ms13_1648)),oBC92tmp_string);
  1259. }
  1260. /*FI]*/
  1261. return R;
  1262. }
  1263. /*No:TMP_NAME.us_and*/
  1264. T0*oBC92keyword_f=NULL;
  1265. /*No:LOOP_VARIANT_1.nb_errors*/
  1266.  
  1267.  
  1268. T0* r230start_position(T230* C){
  1269. T0* R=NULL;
  1270. R=X89start_position((C)->_expression/*8*/);
  1271. return R;
  1272. }
  1273.  
  1274.  
  1275. T0* r230twin(T230* C){
  1276. T0* R=NULL;
  1277. R=malloc(sizeof(*C));
  1278. *((T230*)R)=*C;
  1279. return R;
  1280. }
  1281. /*No:LOOP_VARIANT_1.expression*/
  1282.  
  1283.  
  1284. T0* r230to_runnable(T230* C,T0* a1){
  1285. T0* R=NULL;
  1286. T0* _e=NULL;
  1287. /*[IF*/
  1288. if(((C)->_current_type/*12*/)==((void*)(NULL))){
  1289. C->_current_type=a1;
  1290. _e=X89to_runnable((C)->_expression/*8*/,a1);
  1291. /*[IF*/
  1292. if((_e)==((void*)(NULL))){
  1293. r230error(r230start_position(C),((T0*)ms226_20400));
  1294. }
  1295. else{
  1296. C->_expression=_e;
  1297. /*[IF*/
  1298. if(!(X62is_integer(X89result_type((C)->_expression/*8*/)))){
  1299. r230error(X89start_position((C)->_expression/*8*/),((T0*)ms226_86602));
  1300. }
  1301. /*FI]*/
  1302. }
  1303. /*FI]*/
  1304. /*[IF*/
  1305. if((/*(IRF4.9nb_errors*/((T37*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
  1306. R=(T0*)C;
  1307. }
  1308. /*FI]*/
  1309. }
  1310. else{
  1311. R=r230twin(C);
  1312. /*[IRF3.3set_current_type*/((((T230*)(((T230*)R))))->_current_type)=(NULL);
  1313. /*]*/
  1314. R=r230to_runnable(((T230*)R),a1);
  1315. }
  1316. /*FI]*/
  1317. return R;
  1318. }
  1319. /*No:LOOP_VARIANT_1.set_current_type*/
  1320. /*No:LOOP_VARIANT_1.current_type*/
  1321.  
  1322.  
  1323. void r230error(T0* a1,T0* a2){
  1324. r37add_position(a1);
  1325. r37error((T37*)(oBC11eh),a2);
  1326. }
  1327.  
  1328.  
  1329. void r230make(T230* C,T0* a1,T0* a2){
  1330. C->_comment=a2;
  1331. C->_expression=a1;
  1332. }
  1333.  
  1334.  
  1335. void r230pretty_print(T230* C){
  1336. /*[IF*/
  1337. if(((C)->_comment/*4*/)!=((void*)(NULL))){
  1338. r64pretty_print((T64*)((C)->_comment/*4*/));
  1339. }
  1340. else{
  1341. r310indent((T310*)(oBC11fmt));
  1342. }
  1343. /*FI]*/
  1344. X89pretty_print((C)->_expression/*8*/);
  1345. }
  1346. /*No:LOOP_VARIANT_1.comment*/
  1347. /*No:CALL_INFIX_IMPLIES.feature_name*/
  1348. /*No:CALL_INFIX_IMPLIES.right_brackets*/
  1349.  
  1350.  
  1351. T0* r96start_position(T96* C){
  1352. T0* R=NULL;
  1353. R=((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/;
  1354. return R;
  1355. }
  1356.  
  1357.  
  1358. T0* r96add_comment(T96* C,T0* a1){
  1359. T0* R=NULL;
  1360. /*[IF*/
  1361. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r32count(((T32*)((((T64*)a1))->_list/*4*/)))/*)*/)==(0))){
  1362. R=(T0*)C;
  1363. }
  1364. else{
  1365. {T214*n=malloc(sizeof(*n));
  1366. *n=M214;
  1367. r214make(n,(T0*)C,a1);
  1368. R=(T0*)n;
  1369. }
  1370. }
  1371. /*FI]*/
  1372. return R;
  1373. }
  1374.  
  1375.  
  1376. T2 r96to_integer(T96* C){
  1377. T2 R=0;
  1378. r96error(r96start_position(C),((T0*)ms12_45846));
  1379. return R;
  1380. }
  1381.  
  1382.  
  1383. void r96bracketed_pretty_print(T96* C){
  1384. r310put_character((T310*)(oBC11fmt),'\50');
  1385. r96pretty_print(C);
  1386. r310put_character((T310*)(oBC11fmt),'\51');
  1387. }
  1388.  
  1389.  
  1390. void r96print_op(T96* C){
  1391. r310put_character((T310*)(oBC11fmt),'\40');
  1392. /*[IRF3.6pretty_print*/{T121* C1=(T121*)((C)->_feature_name/*12*/);
  1393. r310put_string((T310*)(oBC11fmt),(C1)->_to_string/*4*/);
  1394. }/*]*/
  1395. r310put_character((T310*)(oBC11fmt),'\40');
  1396. }
  1397.  
  1398.  
  1399. T0* r96to_runnable(T96* C,T0* a1){
  1400. T0* R=NULL;
  1401. T0* _rf=NULL;
  1402. T0* _tbee=NULL;
  1403. T0* _at=NULL;
  1404. T0* _tt=NULL;
  1405. T0* _a=NULL;
  1406. T0* _t=NULL;
  1407. _t=r96runnable_expression((C)->_target/*4*/,a1);
  1408. _a=r96runnable_args((C)->_arguments/*8*/,a1);
  1409. _tt=X89result_type(_t);
  1410. _at=X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1411. /*[IF*/
  1412. /*AF*//*AE*/
  1413. /*FI]*/
  1414. _rf=r96run_feature_for(C,_t,a1);
  1415. /*[IF*/
  1416. if(((C)->_run_feature/*16*/)==((void*)(NULL))){
  1417. C->_target=_t;
  1418. C->_arguments=_a;
  1419. C->_run_feature=_rf;
  1420. r96run_feature_match(C,a1);
  1421. R=(T0*)C;
  1422. }
  1423.  else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
  1424. R=(T0*)C;
  1425. }
  1426. else{
  1427. {T96*n=malloc(sizeof(*n));
  1428. *n=M96;
  1429. r96with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
  1430. R=(T0*)n;
  1431. }
  1432. }
  1433. /*FI]*/
  1434. return R;
  1435. }
  1436. /*No:CALL_INFIX_IMPLIES.fz_bad_argument*/
  1437. /*No:CALL_INFIX_IMPLIES.fz_iinaiv*/
  1438.  
  1439.  
  1440. T0* r96result_type(T96* C){
  1441. T0* R=NULL;
  1442. T0* _tla=NULL;
  1443. R=X312result_type((C)->_run_feature/*16*/);
  1444. /*[IF*/
  1445. if(X62is_like_current(R)){
  1446. R=/*X312current_type*/((T0*)((T325*)((C)->_run_feature/*16*/))->_current_type/*4*/);
  1447. }
  1448. else{
  1449. _tla=R;
  1450. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  1451. case 242: 
  1452. break;
  1453. default:
  1454. _tla=NULL;
  1455. };/*[IF*/
  1456. if((_tla)!=((void*)(NULL))){
  1457. R=X62run_type(X89result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
  1458. }
  1459. /*FI]*/
  1460. }
  1461. /*FI]*/
  1462. return R;
  1463. }
  1464. /*No:CALL_INFIX_IMPLIES.run_feature*/
  1465.  
  1466.  
  1467. T0* r96runnable_args(T0* a1,T0* a2){
  1468. T0* R=NULL;
  1469. R=r132to_runnable(((T132*)a1),a2);
  1470. /*[IF*/
  1471. if((R)==((void*)(NULL))){
  1472. r37add_position(r132start_position(((T132*)a1)));
  1473. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
  1474. r37fatal_error((T37*)(oBC11eh),b1);
  1475. }/*]*/
  1476. }
  1477. /*FI]*/
  1478. return R;
  1479. }
  1480.  
  1481.  
  1482. void r96with(T96* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  1483. C->_target=a1;
  1484. C->_feature_name=a2;
  1485. C->_arguments=a3;
  1486. C->_run_feature=a4;
  1487. r96run_feature_match(C,a5);
  1488. }
  1489. /*No:CALL_INFIX_IMPLIES.fatal_error*/
  1490.  
  1491.  
  1492. void r96run_feature_match(T96* C,T0* a1){
  1493. r96run_feature_has_result(C);
  1494. r132match_with((T132*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
  1495. }
  1496. /*No:CALL_INFIX_IMPLIES.arguments*/
  1497.  
  1498.  
  1499. T0* r96runnable_expression(T0* a1,T0* a2){
  1500. T0* R=NULL;
  1501. R=X89to_runnable(a1,a2);
  1502. /*[IF*/
  1503. if((R)==((void*)(NULL))){
  1504. r37add_position(X89start_position(a1));
  1505. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms101_16515);
  1506. r37fatal_error((T37*)(oBC11eh),b1);
  1507. }/*]*/
  1508. }
  1509. /*FI]*/
  1510. return R;
  1511. }
  1512. /*No:CALL_INFIX_IMPLIES.left_brackets*/
  1513. /*No:CALL_INFIX_IMPLIES.implicit_cast*/
  1514.  
  1515.  
  1516. void r96print_as_target(T96* C){
  1517. r310put_character((T310*)(oBC11fmt),'\50');
  1518. r96pretty_print(C);
  1519. r310put_character((T310*)(oBC11fmt),'\51');
  1520. r310put_character((T310*)(oBC11fmt),'\56');
  1521. }
  1522. /*No:CALL_INFIX_IMPLIES.arg1*/
  1523.  
  1524.  
  1525. void r96run_feature_has_result(T96* C){
  1526. /*[IF*/
  1527. if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
  1528. r37add_position(X312start_position((C)->_run_feature/*16*/));
  1529. r37add_position(((T121*)((C)->_feature_name/*12*/))->_start_position/*8*/);
  1530. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms100_53650);
  1531. r37fatal_error((T37*)(oBC11eh),b1);
  1532. }/*]*/
  1533. }
  1534. /*FI]*/
  1535. }
  1536.  
  1537.  
  1538. T0* r96run_feature_for(T96* C,T0* a1,T0* a2){
  1539. T0* R=NULL;
  1540. T0* _rc=NULL;
  1541. _rc=X62run_class(X89result_type(a1));
  1542. R=r313get_rf(((T313*)_rc),a1,(C)->_feature_name/*12*/,a2);
  1543. return R;
  1544. }
  1545. /*No:CALL_INFIX_IMPLIES.target*/
  1546.  
  1547.  
  1548. void r96error(T0* a1,T0* a2){
  1549. r37add_position(a1);
  1550. r37error((T37*)(oBC11eh),a2);
  1551. }
  1552. /*No:CALL_INFIX_IMPLIES.precedence*/
  1553.  
  1554.  
  1555. void r96make(T96* C,T0* a1,T0* a2,T0* a3){
  1556. C->_target=a1;
  1557. {T121*n=malloc(sizeof(*n));
  1558. *n=M121;
  1559. r121make(n,r96operator(),a2);
  1560. C->_feature_name=(T0*)n;
  1561. }
  1562. {T132*n=malloc(sizeof(*n));
  1563. *n=M132;
  1564. /*[IRF3.3make_1*/((((T132*)(n)))->_first_one)=(a3);
  1565. /*]*/
  1566. C->_arguments=(T0*)n;
  1567. }
  1568. }
  1569. /*No:CALL_INFIX_IMPLIES.is_current*/
  1570. /*No:CALL_INFIX_IMPLIES.us_implies*/
  1571.  
  1572.  
  1573. void r96pretty_print(T96* C){
  1574. /*[IF*/
  1575. if((X89precedence((C)->_target/*4*/))==(13)){
  1576. X89pretty_print((C)->_target/*4*/);
  1577. }
  1578.  else if((3)>(X89precedence((C)->_target/*4*/))){
  1579. X89bracketed_pretty_print((C)->_target/*4*/);
  1580. }
  1581.  else if((3)<(X89precedence((C)->_target/*4*/))){
  1582. X89pretty_print((C)->_target/*4*/);
  1583. }
  1584. /*AF*/else{
  1585. X89pretty_print((C)->_target/*4*/);
  1586. }
  1587. /*FI]*/
  1588. r96print_op(C);
  1589. /*[IF*/
  1590. if((X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
  1591. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1592. }
  1593.  else if((3)>(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  1594. X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1595. }
  1596.  else if((3)<(X89precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
  1597. X89pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1598. }
  1599.  else {/*AT*/X89bracketed_pretty_print(/*(IRF4.6arg1*//*(IRF4.3first*/(((T132*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
  1600. }
  1601. /*FI]*/
  1602. }
  1603. /*No:CALL_INFIX_IMPLIES.is_void*/
  1604.  
  1605.  
  1606. T0* r96operator(void){
  1607. T0* R=NULL;
  1608. R=((T0*)ms13_9513);
  1609. return R;
  1610. }
  1611. /*No:CALL_INFIX_IMPLIES.atomic_precedence*/
  1612. /*No:RUN_FEATURE_11.use_current_state*/
  1613. /*No:RUN_FEATURE_11.rescue_compound*/
  1614. /*No:RUN_FEATURE_11.actuals_clients*/
  1615. /*No:RUN_FEATURE_11.arguments*/
  1616.  
  1617.  
  1618. void r358initialize(T358* C){
  1619. C->_arguments=((T288*)((C)->_base_feature/*32*/))->_arguments/*24*/;
  1620. /*[IF*/
  1621. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1622. /*[IF*/
  1623. if(!(r171is_runnable((T171*)((C)->_arguments/*36*/),(C)->_current_type/*4*/))){
  1624. {T171*n=malloc(sizeof(*n));
  1625. *n=M171;
  1626. r171with(n,(C)->_arguments/*36*/,(C)->_current_type/*4*/);
  1627. C->_arguments=(T0*)n;
  1628. }
  1629. }
  1630. /*FI]*/
  1631. }
  1632. /*FI]*/
  1633. C->_result_type=X62to_runnable(((T288*)((C)->_base_feature/*32*/))->_result_type/*56*/,(C)->_current_type/*4*/);
  1634. C->_local_vars=((T288*)((C)->_base_feature/*32*/))->_local_vars/*16*/;
  1635. /*[IF*/
  1636. if(((C)->_local_vars/*44*/)!=((void*)(NULL))){
  1637. C->_local_vars=r162to_runnable((T162*)((C)->_local_vars/*44*/),(C)->_current_type/*4*/);
  1638. }
  1639. /*FI]*/
  1640. C->_routine_body=((T288*)((C)->_base_feature/*32*/))->_routine_body/*44*/;
  1641. /*[IF*/
  1642. if(((C)->_routine_body/*48*/)!=((void*)(NULL))){
  1643. C->_routine_body=r200to_runnable((T200*)((C)->_routine_body/*48*/),(C)->_current_type/*4*/);
  1644. }
  1645. /*FI]*/
  1646. /*[IF*/
  1647. if(r54require_check((T54*)(oBC11run_control))){
  1648. C->_require_assertion=r288run_require((T0*)C);
  1649. }
  1650. /*FI]*/
  1651. /*[IF*/
  1652. if(r54ensure_check((T54*)(oBC11run_control))){
  1653. C->_ensure_assertion=r288run_ensure((T0*)C);
  1654. }
  1655. /*FI]*/
  1656. C->_rescue_compound=((T288*)((C)->_base_feature/*32*/))->_rescue_compound/*48*/;
  1657. /*[IF*/
  1658. if(((C)->_rescue_compound/*52*/)!=((void*)(NULL))){
  1659. /*[IRF3.3set_used*/((((T336*)((T336*)(oBC11exceptions_handler))))->_used)=(1);
  1660. /*]*/
  1661. C->_rescue_compound=r200to_runnable((T200*)((C)->_rescue_compound/*52*/),(C)->_current_type/*4*/);
  1662. }
  1663. /*FI]*/
  1664. }
  1665.  
  1666.  
  1667. T0* r358start_position(T358* C){
  1668. T0* R=NULL;
  1669. R=r288start_position((T288*)((C)->_base_feature/*32*/));
  1670. return R;
  1671. }
  1672. /*No:RUN_FEATURE_11.require_assertion*/
  1673. /*No:RUN_FEATURE_11.clients_memory*/
  1674. /*No:RUN_FEATURE_11.ucs_not_computed*/
  1675. T0*oBC11exceptions_handler=NULL;
  1676. /*No:RUN_FEATURE_11.current_type*/
  1677.  
  1678.  
  1679. void r358add_client(T358* C,T0* a1){
  1680. T2 _i=0;
  1681. /*[IF*/
  1682. if(((C)->_actuals_clients/*12*/)==((void*)(NULL))){
  1683. {T319*n=malloc(sizeof(*n));
  1684. *n=M319;
  1685. r319with_capacity(n,4);
  1686. C->_actuals_clients=(T0*)n;
  1687. }
  1688. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  1689. }
  1690. else{
  1691. _i=r319fast_index_of((T319*)((C)->_actuals_clients/*12*/),a1);
  1692. /*[IF*/
  1693. if((_i)>(((T319*)((C)->_actuals_clients/*12*/))->_upper/*8*/)){
  1694. r319add_last((T319*)((C)->_actuals_clients/*12*/),a1);
  1695. }
  1696. /*FI]*/
  1697. }
  1698. /*FI]*/
  1699. r313add_client((T313*)(r358run_class(C)),a1);
  1700. }
  1701.  
  1702.  
  1703. T0* r358run_class(T358* C){
  1704. T0* R=NULL;
  1705. R=X62run_class((C)->_current_type/*4*/);
  1706. return R;
  1707. }
  1708. /*No:RUN_FEATURE_11.result_type*/
  1709. /*No:RUN_FEATURE_11.base_feature*/
  1710. /*No:RUN_FEATURE_11.ensure_assertion*/
  1711.  
  1712.  
  1713. void r358make(T358* C,T0* a1,T0* a2,T0* a3){
  1714. C->_current_type=a1;
  1715. C->_name=a2;
  1716. C->_base_feature=a3;
  1717. /*[IRF3.5add_rf*/r315put(((T315*)(((T313*)(r358run_class(C)))->_feature_dictionary/*20*/)),(T0*)C,X65to_key(a2));
  1718. /*]*/
  1719. r42incr_magic_count((T42*)(oBC11small_eiffel));
  1720. C->_use_current_state=15;
  1721. r42push((T42*)(oBC11small_eiffel),(T0*)C);
  1722. r358initialize(C);
  1723. r42pop((T42*)(oBC11small_eiffel));
  1724. }
  1725. /*No:RUN_FEATURE_11.routine_body*/
  1726. /*No:RUN_FEATURE_11.name*/
  1727. /*No:RUN_FEATURE_11.local_vars*/
  1728.  
  1729.  
  1730. T2 r358arg_count(T358* C){
  1731. T2 R=0;
  1732. /*[IF*/
  1733. if(((C)->_arguments/*36*/)!=((void*)(NULL))){
  1734. R=/*(IRF4.6count*/(((T175*)(((T171*)((C)->_arguments/*36*/))->_flat_list/*8*/)))->_upper/*12*//*)*/;
  1735. }
  1736. /*FI]*/
  1737. return R;
  1738. }
  1739.  
  1740.  
  1741. T0* r358clients(T358* C){
  1742. T0* R=NULL;
  1743. T0* _bfbc=NULL;
  1744. T0* _bc=NULL;
  1745. /*[IF*/
  1746. if(((C)->_clients_memory/*8*/)==((void*)(NULL))){
  1747. _bc=X62base_class((C)->_current_type/*4*/);
  1748. _bfbc=((T288*)((C)->_base_feature/*32*/))->_base_class/*4*/;
  1749. /*[IF*/
  1750. if((_bc)==((void*)(_bfbc))){
  1751. R=((T288*)((C)->_base_feature/*32*/))->_clients/*20*/;
  1752. }
  1753. else{
  1754. R=r41clients_for(((T41*)_bc),(C)->_name/*16*/);
  1755. }
  1756. /*FI]*/
  1757. C->_clients_memory=R;
  1758. }
  1759. else{
  1760. R=(C)->_clients_memory/*8*/;
  1761. }
  1762. /*FI]*/
  1763. return R;
  1764. }
  1765.  
  1766.  
  1767. T6 r358is_exported_in(T358* C,T0* a1){
  1768. T6 R=0;
  1769. R=r83gives_permission_to((T83*)(r358clients(C)),a1);
  1770. return R;
  1771. }
  1772.  
  1773.